Microcontroller units (MCUs) are like small computers on single integrated circuits. MCUs typically consist of a central processing unit (CPU) and support devices such as crystal oscillators, I/O interfaces, program memory, etc. The CPU executes one or more programs stored in the program memory.
MCUs are designed for dedicated applications. For example, MCUs can be designed to control various components in automobiles such as fuel injectors, spark plugs, braking systems, transmissions, etc. The present invention will be described with reference to MCUs used in automobiles, it being understood the present invention should not be limited thereto.
Automobiles have sensors that generate signals, which represent or are subsequently processed to represent operational data such as wheel speed, gear speed, manifold pressure, throttle position, air temperature, oxygen levels, etc. MCUs process the operational data in accordance with one or more control programs to generate signals that control the various automobile components. In this closed loop manner, MCUs control ignition timing, variable valve timing, the level of boost maintained by a turbo charger, the quantity and timing of fuel injected into cylinders, gear shift points, etc.
MCU control programs are stored in memory, which may take form in flash, read/write memory, read-only, and/or other types. MCU control programs usually fit in the available on-chip program memory, since it would be costly to provide a system with external, memory. Depending on the device, the memory that stores the control program may be field-alterable flash or read-only memory.